package main
//
//import (
//	"bytes"
//	"encoding/csv"
//	"fmt"
//	"io"
//	"io/ioutil"
//	"net/http"
//	"os"
//	"runtime"
//	"strconv"
//	"strings"
//	"sync"
//)
//
///**
// * 读取csv file
// */
//func readCsv(filename string, urlColumn int) error {
//	file, err := os.Open(filename)
//	if err != nil {
//		return err
//	}
//	defer file.Close()
//
//	// 读取文件
//	reader := csv.NewReader(file)
//	i := 1
//	wg := sync.WaitGroup{}
//	for {
//		recordArr, err := reader.Read()
//		if err == io.EOF {
//			break
//		} else if err != nil {
//			return err
//		}
//
//		// 获取内容
//		imgUrl := recordArr[urlColumn]
//		if !isHttp(imgUrl) {
//			continue
//		} else {
//			//fmt.Println(getImageName(imgUrl, i, ".png"))
//
//			wg.Add(1)
//			go func(imgUrl string, i int) {
//				downloadPic(imgUrl, getImageName(imgUrl, i, ".png"))
//				wg.Done()
//			}(imgUrl, i)
//
//			i++
//		}
//	}
//
//	wg.Wait()
//	return nil
//}
//
///**
// * 检查是否http链接
// */
//func isHttp(str string) bool {
//	return strings.Contains(str, "http")
//}
//
//// 获取图片名字（如果url有，则取url里面的）
//func getImageName(url string, i int, posfix string) string {
//	name := strconv.Itoa(i)
//	if strings.Contains(url, "cdn.weipaitang.com") || strings.Contains(url, "cdn.wptqc.com") {
//		arr := strings.Split(url, "/")
//		name = arr[4]
//	}
//
//	return name + posfix
//}
//
//// 下载图片
//func downloadPic(url string, name string) {
//	// 计时模块
//	//start := time.Now()
//	//defer func() {
//	//	fmt.Println(time.Now().Sub(start).String())
//	//}()
//
//	baseDir := "storage/image"
//	name = baseDir + "/" + name
//
//	// 检查图片是否重复
//	flag, err := PathExists(name)
//	if err != nil {
//		fmt.Println("Error: ", err)
//		return
//	}
//	if flag != false {
//		return
//	}
//
//	// 下载图片
//	resp, err := http.Get(url)
//	if err != nil {
//		fmt.Println("Error: ", err)
//		return
//	}
//	defer resp.Body.Close()
//	body, err := ioutil.ReadAll(resp.Body)
//	if err != nil {
//		fmt.Println("Error: ", err)
//		return
//	}
//	out, err := os.Create(name)
//	if err != nil {
//		fmt.Println("Error: ", err)
//		return
//	}
//	defer out.Close()
//	io.Copy(out, bytes.NewReader(body))
//
//	// 下载的名字
//	fmt.Println(name)
//}
//
//func PathExists(path string) (bool, error) {
//	_, err := os.Stat(path)
//	if err == nil {
//		return true, nil
//	}
//	if os.IsNotExist(err) {
//		return false, nil
//	}
//	return false, err
//}
//
//func main() {
//	runtime.GOMAXPROCS(6)
//
//	filename := "yanzhen_10.csv"
//	urlColumn := 2
//	err := readCsv(filename, urlColumn)
//	if err != nil {
//		fmt.Println("Error: ", err)
//		return
//	}
//}
